Рассмотрим каким образом мы можем работать с диапазоном. Для этого в Excel существует объект Range, включающий в себя как диапазоны ячеек, так и одну отдельную ячейку. Давайте посмотрим, какие действия мы можем делать над диапазоном.
Сначала попробуем выделить диапазон и определить его параметры:
Sub Test2()
'moonexcel.com.ua
'объявим переменную типа Range
Dim cur_range As Range
'объект Range включает выделенный диапазон
Set cur_range = Selection
'отобразим адрес диапазона, кол-во колонок и строк в окне Immediate
Debug.Print cur_range.Address
Debug.Print cur_range.Columns.Count
Debug.Print cur_range.Rows.Count
End Sub
Данным кодом мы присвоили нашему диапазону cur_range выделены ячейки. Далее, с помощью функции Debug.Print отобразили параметры диапазона в окне предварительного просмотра значений Immediate.


Видим, что адрес диапазона $C$1:$E$5, кол-во колонок - 3 , кол-во строк - 5.
Давайте рассмотрим как можно выделить наш диапазон другим способом. Для этого воспользуемся .UsedRange
Sub Test() 'moonexcel.com.ua Dim cur_range As Range Set cur_range = ActiveSheet.UsedRange Debug.Print cur_range.Address End Sub
Преимущество данного способа в том, что Вам не нужно выделять диапазон вручную, за Вас это сделает Excel, который проанализирует какие ячейки имеются заполненные в листе, и выберет только их.